package uy.org.softtech.cssuite.repositorios;

import java.util.Set;

import uy.org.softtech.cssuite.entidad.usuario.Rol;
import uy.org.softtech.cssuite.excepciones.EntidadNoEncontradaException;

/**
 * Interfaz por medio de la cual se acceden a los datos de los roles en la base de datos.
 * 
 * @author fabian.lobo
 */
public interface RepositorioRoles {
	
	/**
	 * Retorna una lista con los diferentes roles registrados en la aplicación
	 * 
	 * @author fabian.lobo
	 */
	Set<Rol> listarRoles();

	/**
	 * Retorna el registro del rol asociado al identificador dado
	 * 
	 * @param id - Identificador del rol
	 * @throws EntidadNoEncontradaException si no se encuentra un rol con ese ID
	 * @author fabian.lobo
	 */
	Rol buscar(Long id) throws EntidadNoEncontradaException;

}
